// package utils;
//
// import com.baomidou.mybatisplus.core.metadata.IPage;
// import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
// import entity.User;
// import lombok.Data;
// import lombok.experimental.Accessors;
//
// import java.util.ArrayList;
// import java.util.List;
//
// /**
//  * @author yangdaji
//  * @version 1.0
//  * @Description:
//  * @date 22-2-1 下午 5:18
//  */
// public class IPageUtils {
//
//     /**
//      * 分页函数
//      *
//      * @param currentPage 当前页数
//      * @param pageSize    每一页的数据条数
//      * @param dataList    要进行分页的数据列表
//      * @return 当前页要展示的数据
//      */
//     private static <E> IPage<E> getPages(Integer currentPage, Integer pageSize, List<E> dataList) {
//         IPage<E> page = new Page<>();
//         int size = dataList.size();
//
//         if (pageSize > size) {
//             pageSize = size;
//         }
//
//         // 求出最大页数，防止currentPage越界
//         int maxPage = size % pageSize == 0 ? size / pageSize : size / pageSize + 1;
//
//         if (currentPage > maxPage) {
//             currentPage = maxPage;
//         }
//
//         // 当前页第一条数据的下标
//         int curIdx = currentPage > 1 ? (currentPage - 1) * pageSize : 0;
//
//         List<E> pageList = new ArrayList<>();
//
//         // 将当前页的数据放进pageList
//         for (int i = 0; i < pageSize && curIdx + i < size; i++) {
//             pageList.add(dataList.get(curIdx + i));
//         }
//
//
//         page.setCurrent(currentPage).setSize(pageSize).setTotal(dataList.size()).setRecords(pageList);
//         return page;
//     }
//
//     public static void main(String[] args) {
//
//         List<User> users = new ArrayList<>();
//         users.add(new User().setName("1").setSex("1"));
//         users.add(new User().setName("2").setSex("2"));
//         users.add(new User().setName("3").setSex("3"));
//         users.add(new User().setName("4").setSex("4"));
//         users.add(new User().setName("5").setSex("5"));
//
//         IPage<User> pages = getPages(0, 1, users);
//         System.out.println(pages.getRecords());
//
//         List<Stu> stus = new ArrayList<>();
//         stus.add(new Stu().setName("1").setSex("1"));
//         stus.add(new Stu().setName("2").setSex("2"));
//         stus.add(new Stu().setName("3").setSex("3"));
//         stus.add(new Stu().setName("4").setSex("4"));
//         stus.add(new Stu().setName("5").setSex("5"));
//         IPage<Stu> pages1 = getPages(1, 15, stus);
//         System.out.println(pages1.getRecords());
//     }
//
// }
//
// @Data
// @Accessors(chain = true)
// class Stu {
//     String name;
//     String sex;
// }
